using System.ComponentModel.DataAnnotations;

namespace LowCoding.Dto.Sys
{
    /// <summary>
    /// 企业表
    /// </summary>
    public class SysCompanyInput : PagedSearchBase
    {
        /// <summary>
        /// 企业ID
        /// </summary>
        /// <example></example>
        public string Id { get; set; }

        /// <summary>
        /// 企业代码
        /// </summary>
        /// <example></example>
        //[Required(ErrorMessage = "企业代码不能为空")]
        [MaxLength(30, ErrorMessage = "企业代码输入字符过长")]
        public string FltCode { get; set; }

        /// <summary>
        /// 企业全称
        /// </summary>
        /// <example></example>
        [Required(ErrorMessage = "企业全称不能为空")]
        [MaxLength(200, ErrorMessage = "企业全称输入字符过长")]
        public string FltName { get; set; }

        /// <summary>
        /// 状态(是否激活)
        /// </summary>
        /// <example></example>
        public string FltStatus { get; set; }

        /// <summary>
        /// 用户微信
        /// </summary>
        public string FltUserWX { get; set; }

        /// <summary>
        /// 企业英文名称
        /// </summary>
        /// <example></example>
        [MaxLength(100, ErrorMessage = "企业英文名称输入字符过长")]
        public string FltEname { get; set; }

        /// <summary>
        /// 企业简称
        /// </summary>
        /// <example></example>
        [MaxLength(36, ErrorMessage = "企业简称输入字符过长")]
        public string FltShortname { get; set; }

        /// <summary>
        /// 统一社会信用代码
        /// </summary>
        /// <example></example>
        [MaxLength(30, ErrorMessage = "统一社会信用代码输入字符过长")]
        public string FltUscc { get; set; }

        /// <summary>
        /// 企业类型
        /// </summary>
        /// <example></example>
        public string FltType { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        /// <example></example>
        [MaxLength(36, ErrorMessage = "联系人输入字符过长")]
        public string FltLinkperson { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        /// <example></example>
        [MaxLength(30, ErrorMessage = "联系方式输入字符过长")]
        public string FltLinkphone { get; set; }

        /// <summary>
        /// 企业地址
        /// </summary>
        /// <example></example>
        [MaxLength(250, ErrorMessage = "企业地址输入字符过长")]
        public string FltAddress { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        /// <example></example>
        [MaxLength(400, ErrorMessage = "备注输入字符过长")]
        public string Remark { get; set; }

        /// <summary>
        /// 税务登记号
        /// </summary>
        public string FltOrgcode { get; set; }

        /// <summary>
        /// 用户代码
        /// </summary>
        public string FltUsercode { get; set; }

        /// <summary>
        /// 用户名称
        /// </summary>
        public string FltUsername { get; set; }

        /// <summary>
        /// 用户密码
        /// </summary>
        public string FltUserpassword { get; set; }

        /// <summary>
        /// 用户邮箱
        /// </summary>
        public string FltUseremail { get; set; }

        /// <summary>
        /// 确认密码
        /// </summary>
        public string verifyPwd { get; set; }

        /// <summary>
        /// 经营品种
        /// </summary>
        [MaxLength(15, ErrorMessage = "经营品种输入字符过长")]
        public string FltBussinessType { get; set; }

        /// <summary>
        /// 法人代表
        /// </summary>
        [MaxLength(15, ErrorMessage = "法人代表输入字符过长")]
        public string FltLegalman { get; set; }

        /// <summary>
        /// 注册地区
        /// </summary>
        [MaxLength(15, ErrorMessage = "注册地区输入字符过长")]
        public string FltRegistrationArea { get; set; }

        /// <summary>
        /// 注册详细地区
        /// </summary>
        [MaxLength(36, ErrorMessage = "注册详细地区输入字符过长")]
        public string FltResDetailedAddress { get; set; }

        /// <summary>
        /// 公司座机
        /// </summary>
        [MaxLength(30, ErrorMessage = "公司座机输入字符过长")]
        public string FltLandline { get; set; }

        /// <summary>
        /// 公司传真
        /// </summary>
        [MaxLength(30, ErrorMessage = "公司传真输入字符过长")]
        public string FltFax { get; set; }

        /// <summary>
        /// 开户行名称
        /// </summary>
        [MaxLength(15, ErrorMessage = "开户行名称输入字符过长")]
        public string FltyAccountBankName { get; set; }

        /// <summary>
        /// 开户行账号
        /// </summary>
        [MaxLength(30, ErrorMessage = "开户行账号输入字符过长")]
        public string FltBankAccontNo { get; set; }

        public string FltCompanyLogo { get; set; }

        /// <summary>
        /// 买家认证状态
        /// </summary>
        public string FltCertificationStu { get; set; }

        /// <summary>
        /// 卖家认证状态
        /// </summary>
        public string FltSellerCertificationStu { get; set; }

        /// <summary>
        /// 公司地区
        /// </summary>
        public string FltCompanyArea { get; set; }

        /// <summary>
        /// 执照路径
        /// </summary>
        public string LicensePath { get; set; }

        /// <summary>
        /// 执照名称
        /// </summary>
        public string LicenseName { get; set; }

        /// <summary>
        /// 授权证书路径
        /// </summary>
        public string AuthPath { get; set; }

        /// <summary>
        /// 授权证书名称
        /// </summary>
        public string AuthName { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public string REVIEWER { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        public string AUDITSTATUS { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        public string REVIEWERTIME { get; set; }

        /// <summary>
        /// 新增时间
        /// </summary>
        public DateTime? Created { get; set; }

        /// <summary>
        /// 新增人员
        /// </summary>
        public string Creator { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? Lastmodified { get; set; }

        /// <summary>
        /// 修改人员
        /// </summary>
        public string Lastmodifier { get; set; }

        /// <summary>
        /// 附件集合
        /// </summary>
        public List<AttachmentCompanyInput> FltAttachmentList { get; set; }

        /// <summary>
        /// 判断按钮
        /// </summary>
        public string IsButton { get; set; }
    }
    public class AttachmentCompanyInput
    {
        /// <summary>
        /// 主键id
        /// </summary>
        public string AtcId { get; set; }

        /// <summary>
        /// 企业id
        /// </summary>
        public string FltId { get; set; }

        /// <summary>
        /// 附件名称
        /// </summary>
        [MaxLength(128, ErrorMessage = "附件名称输入字符过长")]
        public string AtcName { get; set; }

        /// <summary>
        /// 附件类型
        /// </summary>
        public string AtcType { get; set; }

        /// <summary>
        /// 附件路径
        /// </summary>
        [MaxLength(128, ErrorMessage = "附件路径输入字符过长")]
        public string AtcPath { get; set; }
    }
}